perm filename DART.REG[UP,DOC]7 blob
sn#378574 filedate 1978-09-04 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00006 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 DART - Dump and Restore Techinque
C00005 00003 Command Semantics.
C00009 00004 Tape Format
C00013 00005 File Backup Policy
C00016 00006 Privileged commands
C00018 ENDMK
C⊗;
DART - Dump and Restore Techinque
R. E. Gorin
November, 1972
June, 1973
November, 1974
Summary:
DART is a program that saves disk files on magnetic tape and
restores files from tape to disk. Dart will be used to make periodic
backups of the file disk. Dart is also available to users who wish
to maintain their own backup tapes.
Dart Commands
Dart signifies its readiness to accept a command by typing an
asterisk (*).
In the description below, braces, { and }, are used to denote
optional items. Vertical bar, | , denotes an exclusive - or choice.
Pointed brackets, < and > are used to enclose syntactic items that
are defined below.
Dart accepts the following commands:
DUMP {<dest>←}{<source>}
RESTORE {<dest>←}{<source>}
REWIND {<dev>{:}}
EOT {<dev>{:}}
ADVANCE {FILE|RECORD} {<dev>{:}} {<count>}
BACKSPACE {FILE|RECORD} {<dev>{:}} {<count>}
LOCATE {<dest>←}{<source>}
LIST {<dest>}←{<source>}
TLIST {<dest>}←{<source>}
EXIT
<dest> ::= {<dev>:}<file>{.<ext>}{[<prj>,<prg>]}
<source> ::= {{<dev>:}{[<prj>,<prg>]}@}
{<dev>:}<file>{.ext}{[<prj>,<prg>]}{,<source>}
<dev> is "any" legal device name.
<file> is any file name or *
<ext> is any file extension or *
<prj> is any project code or *
<prg> is any programmer name or *
<count> is any string of decimal digits.
Caution: The only devices that are appropriate here are DSK, UDP,
and MTAn. See the semantics section, below, for further
explanations.
Commands are typed on one line and terminated by a
carriage-return and line-feed.
The following commands may be typed at monitor command level to invoke DART:
DUMP, RESTORE, REWIND, EOT, ADVANCE, BACKSPACE, LOCATE, and TLIST.
Command Semantics.
REWIND
This command will cause the device named to rewind to load
point. MTA0 is the default if no device argument is used. The
device named should be a magnetic tape unit.
EOT
This command will cause ADVANCE FILE to be repeated until
either two adjacent file marks are seen (logical end of tape) or
until physical end of tape is reached.
ADVANCE and ADVANCE FILE
This command will cause the tape to advance past the next
file mark on the tape. If a repeat factor is given, then the comand
will be repeated that number of times.
Caution: Dart often records more than one disk file on a
magtape file! Therefore, advance file will (sometimes) skip more
than one disk file.
ADVANCE RECORD
Same as ADVANCE FILE except that instead of file marks,
record marks are used. This command leaves you at the front of a
record.
BACKSPACE and BACKSPACE FILE
This command will cause the tape to move backwards until a
file mark is seen. DART then does one ADVANCE FILE operation to
position the tape at the front of a file. If a repeat argument is
given then that argument is used to repeat the backspace operation.
Only one ADVANCE is used, after all backspace operations.
Caution BACKSPACE or BACKSPACE 1 will position the tape at
the front of the current magtape file. BACKSPACE 2 will position one
previous, etc.
BACKSPACE RECORD
Same as BACKSPACE FILE except that record marks are used to
stop the operation instead of file marks. After all backspaces are
completed, Dart does an ADVANCE RECORD command.
LOCATE
For each file named in the argument list, this command prints
the tape numbers where this file was dumped and the corresponding
creation dates of the file.
TLIST and LIST
This command will list on the destination device the names of
the files that are found on the source device.
DUMP
This command will write on the destination device those files
that are specified by the source term. If there is no source
argument, *.*[current area] is used.
RESTORE
This command will restore to the destination files that are
described by the source term.
Null destination means *.*[current area].
Null source = *.*[current area]
The command RESTORE [*,REG]←[*,REG] will restore all of REG's
files to the areas that they were dumped from.
Tape Format
Tapes are usually recorded at 800 BPI, odd parity. Record
length does not exceed 1280 words. There are three types of records,
header-trailer records, File start records, and Continuation records.
Header-Trailer records:
Word 0: version,,length
version is the positive version
number of the DART that created
this tape. Length is the length
of the data following.
Word 1: 'DART ' sixbit DART
Word 2: '*HEAD*' or '*TAIL*'
data in sixbit
Word 3: time,date BYTE(3)HIDATE(10)0(11)TIME(12)LODATE
TIME is in minutes after midnight,
HIDATE is the high order field of
date in system format
Word 4: ppn the name of the person running
Dart.
Word 5: class,,tapno Tape number of this tape
Dump class of this dump
Tape numbers are kept only for system class dumps. User class is
class 0. Classes 1 and 2 are system classes (Temporary and
Permanent).
File-Start Records
Word 0: -n,,length -n denotes file-start records.
length is the number of data words
that follow. "n" is the format
number of this tape. (see below)
Word 1: devnam name of the source device
Word 2-21 file retrieval of this file as it
appeared on the disk.
word 22-length data from the file.
word length+1 exclusive or of words 1-length.
word length+2 if this is 0, skip to next record.
if this is <0, threat as word 0 above.
File continuation Record
word 0 0,,length length is the number of data words
words 1-length data from the file
word length+1 xor of words 1-length above
word length+2 same as in File-start record.
If a file start is seen, then at least all of the retrieval data is
present in the current magtape record.
Tape formats:
1 as above
2. as above, except word 17 of the retrieval (word 21 of the record)
signifies the record offset.
File Backup Policy
DART will implement the following policy regarding backing up
the disk on tape.
There are three classes of system dump, Full, Permanent and
Temporary. Full dumps will be made at widely separated intervals
(probably more than 6 months). Permanent dumps will be made
approximatly once a week. Temporary dumps will be made several times
each week.
The retention of the Permanent (and Full) Tapes will exceed 1
year. The retentention of the Temporary tapes will exceed 4 weeks.
The different classes of dump will treat files differently as
follows:
1. SND and empty (i.e., 0 word) files will not be dumped. (Prior to
4-Sep-78, TMP files were not dumped. Prior to 5-Dec-77, RPG files
were not dumped. Neither RPG nor TMP are special cases any more.)
2. Files with protection of 400 or greater will not be dumped.
3. Any file not covered by 1 or 2 will be dumped if it has
the dump date invalid bit set.
3. A full dump will dump all files except those eliminated by
1 and 2 above.
4. A P dump will dump all files (not covered by 1 and 2) that
have been p-dumped fewer than 2 times and are more than n
(n=4 at present) days old.
5. A T dump will dump all files (not covered by 1 and 2) that
have never been p-dumped and have never been t-dumped.
The intention of this policy is to provide backup for the
disk to prevent total loss of files in a major crash. A secondary
effect is to provide individuals with short term backup against their
own mistakes. It is not the intention of this policy to provide
eternal backup of every file that ever appeared on the disk.
Privileged commands
The area [DMP,SYS] is privileged to make backup dumps of the disk.
The following commands are legal if you happen to be [DMP,SYS].
FDUMP Full dump of the disk
PDUMP Permanent Dump of the disk
TDUMP Temporary-class dump of the disk
PICKUP Continue with a privileged dump
after a system crash.
The FDUMP,PDUMP and TDUMP commands all take an optional argument of
the form <dev>:← which specifies the tape to dump to.
The PURGE command takes a list of file names to purge. Purged files are
written on P-class tapes, and deleted from the disk.
MRESTORE is unimplemented and reserved for future use.